package com.module.ble.db.table

import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.Index
import androidx.room.PrimaryKey
import com.module.ble.data.bean.CusUnifyData

/**
 * 作者：sosou
 * <p>
 * 版本：1.0
 * <p>
 * 创建日期：2025/3/25
 * <p>
 * 描述：睡眠信息
 * <p>
 * 修订历史：
 */
@Entity(tableName = "sleep_info", indices = [Index(value = ["createdTime"], unique = true)])
class UserSleepInfo : CusUnifyData {

    //创建时间  (小睡开始时间)
    @PrimaryKey
    @ColumnInfo
    override var createdTime: Long = 0L

    //小睡结束时间
    @ColumnInfo
    var endTime: Long = 0L

    //睡眠类型，0-夜间睡眠，1-零星小睡
    @ColumnInfo
    var sleepType: Int = -1

    //创建时间(年月日)
    @ColumnInfo
    var inDateTime: Long = 0L

    //mac   *
    @ColumnInfo
    var macAddress: String? = ""

    //睡眠质量 0,清醒(离床) 1:快速眼动 2:浅睡 3:深睡 4:卧床 5:未佩戴 101:小睡（自用） -999：未知（自用）
    @ColumnInfo
    var sleepQuality: Int =-1

    //厂商   *
    @ColumnInfo
    var firmName: String? = ""

    //数据版本
    @ColumnInfo
    var dataVersion : Long = 0L

    //同步状态
    @ColumnInfo
    override var sysStat : Int = 0

    //时区   *
    @ColumnInfo
    var timeZone : String? = ""

    override val mTime: Long
        get() = createdTime

    override val value: Number
        get() = sleepQuality
}